import { defineStore } from 'pinia'
import { computed, ref } from 'vue'
//-----------------------------------------组合式----------------------------------------------
export const useCountStore = defineStore('count', 
    ()=>{
         const count = ref(0)
         const address = ref('上海')
         function increment(value:number) {
            count.value+=value
        }
         function decrement(value:number) {
            count.value-=value
        }
         const doubleCount = computed(()=>{
            return count.value*2
        })
         const upperAddress = computed(()=>{
            return address.value.toUpperCase()
        })
         return {
            count,
            address,
            doubleCount,
            upperAddress,
            increment,
            decrement
        }
    }
   
)



////////////////////////////////////////选项式///////////////////////////////////////////////
//参数：1. 存储的id 2. 存储的state
// export const useCountStore = defineStore('count', {
//     //存放公共的数据
//   state: () => ({
//     count: 0,
//     address:"上海"
//   }),
//   //存放公共的方法
//     actions: {
//         //增加
//         increment(value: number) {
//         this.count+=value;//this指向当前store实例useCountStore
//         },
//         decrement(value: number) {
//         this.count-=value;
//         },
//     },
//     //对数据做额外处理
//     getters: {
//         // 数据加倍 箭头函数不能使用this
//         doubleCount: (state:any)=>state.count*2,
//         upperAddress():string{
//             return this.address.toUpperCase()
//         }
//     }
// })